<?php
	
	//验证码制作——随机文字随机颜色随机大小
		//1、创建图片资源
		
			$image=imagecreatetruecolor(200, 50); 	//创建图片资源
			$bg_color=imagecolorallocate($image, 220, 220, 220);	//定义背景色
			imagefill($image, 0, 0, $bg_color);			//填充背景色
		//2写入文字
			
			//定义随机文字
			$str='3456789abcdefghigkmnpqrstuvwxy';
			
			$temp_str='';	//记录等会儿出现在图片中的字符
			
			$str_len=strlen($str);	//总字符的长度
			$char_arry=array();		//存放等会的字符
			$char_arry[]=substr($str, mt_rand(0, $str_len-1),1);		//随机取一个字符
			$char_arry[]=substr($str, mt_rand(0, $str_len-1),1);		//随机取一个字符
			$char_arry[]=substr($str, mt_rand(0, $str_len-1),1);		//随机取一个字符
			$char_arry[]=substr($str, mt_rand(0, $str_len-1),1);		//随机取一个字符
			
			$temp_str=implode('', $char_arry);	//把数组元素转换成字符串
			
			//定义随机文字的颜色
			$char_color_arry=array();
			$char_color_arry[]=imagecolorallocate($image, mt_rand(150, 200), mt_rand(150, 200), mt_rand(150, 200));
			$char_color_arry[]=imagecolorallocate($image, mt_rand(150, 200), mt_rand(150, 200), mt_rand(150, 200));
			$char_color_arry[]=imagecolorallocate($image, mt_rand(150, 200), mt_rand(150, 200), mt_rand(150, 200));
			$char_color_arry[]=imagecolorallocate($image, mt_rand(150, 200), mt_rand(150, 200), mt_rand(150, 200));
			
			for($i=0;$i<4;$i++){
				//循环写入图片文字
				imagettftext($image, mt_rand(25, 40), mt_rand(-15, 15), 30+$i*40, mt_rand(30, 40), $char_color_arry[$i], 'fonts/YGYXSZITI2.0.TTF', $temp_str[$i]);
				
			}
		
		//3、设置干扰点和干扰线
			
			for($i=0;$i<40;$i++){
				
				$dots_color=imagecolorallocate($image, mt_rand(150, 200), mt_rand(150, 200), mt_rand(150, 200));
				imagestring($image, mt_rand(1, 5), mt_rand(0, 200), mt_rand(0, 50), '.', $dots_color);
				
			}
			
			for($i=0;$i<5;$i++){
				
				$line_color=imagecolorallocate($image, mt_rand(150, 200), mt_rand(150, 200), mt_rand(150, 200));
				imageline($image, mt_rand(0, 20), mt_rand(0, 50), mt_rand(180, 200), mt_rand(0, 50), $line_color);
			}
			
		
		//4输出文字到浏览器
			
			header('content-type:image/png');
			echo	imagepng($image);
			
		//5把正确的验证码保存在session中
		session_start();
		
		$_SESSION['code']=$temp_str;	

?>